/**
 * 简化版的脚本编译器
 * 用于处理和验证脚本代码
 */
export function compileScript(code: string): string {
  try {
    // 移除可能的危险访问
    const blacklist = [
      'window',
      'self',
      'top',
      'parent',
      'frames',
      'document',
      'navigator',
      'global',
      'globalThis',
      'process',
      'wx.request', // 添加小程序相关的敏感API
      'wx.uploadFile',
      'wx.downloadFile'
    ];

    // 简单的代码检查
    for (const keyword of blacklist) {
      if (code.includes(keyword)) {
        throw new Error(`不允许使用 ${keyword}`);
      }
    }

    // 基本语法检查
    try {
      new Function(code);
    } catch (e) {
      throw new Error('代码语法错误');
    }

    // 移除注释
    code = code.replace(/\/\*[\s\S]*?\*\/|\/\/.*/g, '');
    
    // 移除多余空白
    code = code.trim();

    if (!code) {
      throw new Error('脚本不能为空');
    }

    return code;
  } catch (error: any) {
    throw new Error('脚本解析失败！\n' + error.message);
  }
}
